﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml.Serialization;

    [Serializable, GeneratedCode("svcutil", "3.0.4506.2152"), DebuggerStepThrough, DesignerCategory("code"), XmlType(Namespace="http://www.onvif.org/ver10/schema")]
    public class ExposureOptions20
    {
        private FloatRange exposureTimeField;
        private FloatRange gainField;
        private FloatRange irisField;
        private FloatRange maxExposureTimeField;
        private FloatRange maxGainField;
        private FloatRange maxIrisField;
        private FloatRange minExposureTimeField;
        private FloatRange minGainField;
        private FloatRange minIrisField;
        private ExposureMode[] modeField;
        private ExposurePriority[] priorityField;

        [XmlElement(Order=8)]
        public FloatRange ExposureTime
        {
            get
            {
                return this.exposureTimeField;
            }
            set
            {
                this.exposureTimeField = value;
            }
        }

        [XmlElement(Order=9)]
        public FloatRange Gain
        {
            get
            {
                return this.gainField;
            }
            set
            {
                this.gainField = value;
            }
        }

        [XmlElement(Order=10)]
        public FloatRange Iris
        {
            get
            {
                return this.irisField;
            }
            set
            {
                this.irisField = value;
            }
        }

        [XmlElement(Order=3)]
        public FloatRange MaxExposureTime
        {
            get
            {
                return this.maxExposureTimeField;
            }
            set
            {
                this.maxExposureTimeField = value;
            }
        }

        [XmlElement(Order=5)]
        public FloatRange MaxGain
        {
            get
            {
                return this.maxGainField;
            }
            set
            {
                this.maxGainField = value;
            }
        }

        [XmlElement(Order=7)]
        public FloatRange MaxIris
        {
            get
            {
                return this.maxIrisField;
            }
            set
            {
                this.maxIrisField = value;
            }
        }

        [XmlElement(Order=2)]
        public FloatRange MinExposureTime
        {
            get
            {
                return this.minExposureTimeField;
            }
            set
            {
                this.minExposureTimeField = value;
            }
        }

        [XmlElement(Order=4)]
        public FloatRange MinGain
        {
            get
            {
                return this.minGainField;
            }
            set
            {
                this.minGainField = value;
            }
        }

        [XmlElement(Order=6)]
        public FloatRange MinIris
        {
            get
            {
                return this.minIrisField;
            }
            set
            {
                this.minIrisField = value;
            }
        }

        [XmlElement("Mode", Order=0)]
        public ExposureMode[] Mode
        {
            get
            {
                return this.modeField;
            }
            set
            {
                this.modeField = value;
            }
        }

        [XmlElement("Priority", Order=1)]
        public ExposurePriority[] Priority
        {
            get
            {
                return this.priorityField;
            }
            set
            {
                this.priorityField = value;
            }
        }
    }
}

